﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Media;
using Microsoft.Xna.Framework.Net;
using Microsoft.Xna.Framework.Storage;

namespace Atentado_ao_Riocentro
{
    public class Hud
    {
        public Texture2D texturaalicate;// textura do alicate que será encontrado durante o jogo.
        
        public Rectangle alicate; // retangulo para gurdar a posição e o tamanho do alicate.

        public SpriteFont fonte; // fonte do jogo.

        public static int quadroalicate = 0; // variável responsável pelo desenho do quadro do alicate.

        // objetos stacits são para todo o jogo, eles são iniciados apenas uma vez.
        private static float milisecond;
        public static int segundos= 0; // contador de segundo do jogo.
        public static int minutos= 0; // contador de minutos do jogo.

        

        public bool tempo; // boloana que habilita o tempo do jogo.

        //Construtor da classe hud.
        public Hud(Texture2D texturalicate, SpriteFont fonte, Rectangle retanguloalicate)
        {
            this.texturaalicate = texturalicate;
            this.fonte = fonte;
            this.alicate = retanguloalicate;
            alicate.X = 350;
            alicate.Y = 2;

        }

        // Método que marca tempo do jogo.
        public void Update(GameTime gameTime)
        {
            milisecond += (float)gameTime.ElapsedGameTime.TotalMilliseconds / 1000;
            segundos = (int)milisecond;

            if (segundos >= 60)
            {
                segundos = 0;
                milisecond = 0;

                minutos++;
            }
            if (minutos == 1)
            {
                tempo = true;
            }
            
        }
        // Método para testar o tempo do jogo.
        public bool Tempo()
        {
            return tempo;
        }

        // Método que retorna spriteBatch 
        public SpriteBatch DrawFase(SpriteBatch spriteBatch)
        {
            // Desenhamos na tela a textura do alicate.  

            spriteBatch.Draw(texturaalicate, alicate, Color.White);
            // Desenhamos o tempo na tela do jogo.                                       // para o tempo ficar a deireita e acima da hud 
            spriteBatch.DrawString(fonte, " Tempo: " + minutos + ":" + segundos, new Vector2(this.alicate.Right, this.alicate.Top), Color.White);
            
            return spriteBatch;
        }








    }
}
